﻿// Decompiled with JetBrains decompiler
// Type: FlamethrowerSpell.FlamethrowerManager
// Assembly: FlamethrowerSpell, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: FE877AF4-189C-4F20-BE78-CAD168BEA322
// Assembly location: E:\Temp\Flamethrower Spell\FlamethrowerSpell.dll

using ThunderRoad;

namespace FlamethrowerSpell
{
  public class FlamethrowerManager : ThunderScript
  {
    [ModOptionSlider]
    [@ModOption("Force", "The force applied to enemies and items", "tenthsValues", category = "Flamethrower", defaultValueIndex = 100, order = 1)]
    public static float Force = 10f;
    [ModOptionSlider]
    [@ModOption("Player Force", "The force applied to the player", "largeValues", category = "Flamethrower", defaultValueIndex = 5, order = 2)]
    public static float PlayerForce = 250f;
    [ModOptionSlider]
    [@ModOption("Damage", "The damage dealt to enemies per tick", "damageValues", category = "Flamethrower", defaultValueIndex = 10, order = 3)]
    public static float Damage = 1f;
    [ModOptionSlider]
    [@ModOption("Angle", "The angle of the flamethrower relative to the hand", "angleValues", category = "Flamethrower", defaultValueIndex = 90, order = 3)]
    public static float FireDirectionAngle = 90f;
    [ModOptionSlider]
    [@ModOption("Scale", "The scale of the flamethrower", "scaleValues", category = "Flamethrower", defaultValueIndex = 10, order = 3)]
    public static float Scale = 1f;
    [ModOptionSlider]
    [@ModOption("Merge Force", "The force applied to enemies and items", "tenthsValues", category = "Merge", defaultValueIndex = 800, order = 1)]
    public static float MergeForce = 80f;
    [ModOptionSlider]
    [@ModOption("Merge Player Force", "The force applied to the player", "largeValues", category = "Merge", defaultValueIndex = 10, order = 2)]
    public static float MergePlayerForce = 500f;
    [ModOptionSlider]
    [@ModOption("Merge Damage", "The damage dealt to enemies per tick", "damageValues", category = "Merge", defaultValueIndex = 80, order = 3)]
    public static float MergeDamage = 8f;
    [ModOptionSlider]
    [@ModOption("Merge Scale", "The scale of the flamethrower merge", "mergeScaleValues", category = "Merge", defaultValueIndex = 80, order = 3)]
    public static float MergeScale = 8f;

    public static ModOptionFloat[] angleValues()
    {
      ModOptionFloat[] modOptionFloatArray = new ModOptionFloat[181];
      float num = -90f;
      for (int index = 0; index < modOptionFloatArray.Length; ++index)
      {
        modOptionFloatArray[index] = new ModOptionFloat(num.ToString("0"), num);
        ++num;
      }
      return modOptionFloatArray;
    }

    public static ModOptionFloat[] scaleValues()
    {
      ModOptionFloat[] modOptionFloatArray = new ModOptionFloat[201];
      float num = 0.0f;
      for (int index = 0; index < modOptionFloatArray.Length; ++index)
      {
        modOptionFloatArray[index] = new ModOptionFloat(num.ToString("0.0"), num);
        num += 0.1f;
      }
      return modOptionFloatArray;
    }

    public static ModOptionFloat[] mergeScaleValues()
    {
      ModOptionFloat[] modOptionFloatArray = new ModOptionFloat[1001];
      float num = 0.0f;
      for (int index = 0; index < modOptionFloatArray.Length; ++index)
      {
        modOptionFloatArray[index] = new ModOptionFloat(num.ToString("0.0"), num);
        num += 0.1f;
      }
      return modOptionFloatArray;
    }

    public static ModOptionFloat[] damageValues()
    {
      ModOptionFloat[] modOptionFloatArray = new ModOptionFloat[201];
      float num = 0.0f;
      for (int index = 0; index < modOptionFloatArray.Length; ++index)
      {
        modOptionFloatArray[index] = new ModOptionFloat(num.ToString("0.0"), num);
        num += 0.1f;
      }
      return modOptionFloatArray;
    }

    public static ModOptionFloat[] tenthsValues()
    {
      ModOptionFloat[] modOptionFloatArray = new ModOptionFloat[1001];
      float num = 0.0f;
      for (int index = 0; index < modOptionFloatArray.Length; ++index)
      {
        modOptionFloatArray[index] = new ModOptionFloat(num.ToString("0.0"), num);
        num += 0.1f;
      }
      return modOptionFloatArray;
    }

    public static ModOptionFloat[] largeValues()
    {
      ModOptionFloat[] modOptionFloatArray = new ModOptionFloat[101];
      float num = 0.0f;
      for (int index = 0; index < modOptionFloatArray.Length; ++index)
      {
        modOptionFloatArray[index] = new ModOptionFloat(num.ToString("0"), num);
        num += 50f;
      }
      return modOptionFloatArray;
    }
  }
}
